package cn.iocoder.yudao.module.crossborder.platform.dal.dataobject.platformauth;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 跨境电商平台授权信息 DO
 *
 * @author 芋道源码
 */
@TableName("crossborder_platform_auth")
@KeySequence("crossborder_platform_auth_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PlatformAuthDO extends BaseDO {

    /**
     * 授权编号
     */
    @TableId
    private Long id;
    /**
     * 平台编号
     */
    private Long platformId;
    /**
     * 店铺编号
     */
    private Long storeId;
    /**
     * 认证类型（1OAuth2 2API密钥 3JWT 4Basic Auth）
     */
    private Integer authType;
    /**
     * 客户端ID
     */
    private String clientId;
    /**
     * 客户端密钥
     */
    private String clientSecret;
    /**
     * 访问令牌
     */
    private String accessToken;
    /**
     * 刷新令牌
     */
    private String refreshToken;
    /**
     * 令牌类型
     */
    private String tokenType;
    /**
     * 授权范围
     */
    private String scope;
    /**
     * 令牌有效期（秒）
     */
    private Integer expiresIn;
    /**
     * 令牌过期时间
     */
    private LocalDateTime tokenExpireTime;
    /**
     * API密钥
     */
    private String apiKey;
    /**
     * API密钥
     */
    private String apiSecret;
    /**
     * 额外参数JSON
     */
    private String additionalParams;
    /**
     * 授权状态（0未授权 1已授权 2授权过期 3授权失败）
     */
    private Integer authStatus;
    /**
     * 授权时间
     */
    private LocalDateTime authTime;
    /**
     * 最后刷新时间
     */
    private LocalDateTime lastRefreshTime;
    /**
     * 授权错误信息
     */
    private String authErrorMsg;
    /**
     * 是否自动刷新令牌
     */
    private Boolean autoRefresh;


}
